'\" te
.\" Copyright (c) 2003, Sun Microsystems, Inc. All Rights Reserved.
.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License").  You may not use this file except in compliance with the License.
.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing.  See the License for the specific language governing permissions and limitations under the License.
.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE.  If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
.TH SLPFINDSRVS 3SLP "Jan 16, 2003"
.SH NAME
SLPFindSrvs \- return service URLs
.SH SYNOPSIS
.LP
.nf
cc [ \fIflag\fR... ] \fIfile\fR... \fB-lslp\fR [ \fIlibrary\fR... ]
#include <slp.h>

\fBSLPError\fR \fBSLPFindSrvs\fR(\fBSLPHandle\fR \fIhSLP\fR, \fBconst char *\fR\fIpcServiceType\fR,
     \fBconst char *\fR\fIpcScopeList\fR,\ \fBconst char *\fR\fIpcSearchFilter\fR,
     \fBSLPSrvURLCallback *\fR\fIcallback\fR, \fBvoid *\fR\fIpvCookie\fR);
.fi

.SH DESCRIPTION
.sp
.LP
The \fBSLPFindSrvs()\fR function issues a request for \fBSLP\fR services. The
query is for services on a language-specific \fBSLPHandle\fR. It returns the
results through the \fIcallback\fR. The parameters will determine the results.
.sp
.LP
If an error occurs  in starting the operation, one  of  the \fBSLPError\fR
codes is returned.
.SH PARAMETERS
.sp
.ne 2
.na
\fB\fIhSLP\fR\fR
.ad
.RS 18n
The language-specific \fBSLPHandle\fR on which to  search for services. It
cannot  be \fINULL\fR.
.RE

.sp
.ne 2
.na
\fB\fIpcServiceType\fR\fR
.ad
.RS 18n
The service type string for the request. The \fIpcServiceType\fR can be
discovered by a call to \fBSLPSrvTypes()\fR. Examples of service type strings
include
.sp
.in +2
.nf
"service:printer:lpr"
.fi
.in -2

or
.sp
.in +2
.nf
"service:nfs"
.fi
.in -2

\fIpcServiceType\fR cannot be \fINULL\fR.
.RE

.sp
.ne 2
.na
\fB\fIpcScopeList\fR\fR
.ad
.RS 18n
A pointer to a \fBchar\fR containing a comma-separated  list  of scope names.
It cannot be \fINULL\fR or an empty string, \fB""\fR.
.RE

.sp
.ne 2
.na
\fB\fIpcSearchFilter\fR\fR
.ad
.RS 18n
A query formulated of attribute pattern matching expressions in the form of a
\fBLDAPv3\fR search filter. See \fIRFC 2254\fR. If this filter is empty,
\fB""\fR, all services of the requested type in the specified scopes are
returned. It cannot be \fINULL\fR.
.RE

.sp
.ne 2
.na
\fB\fIcallback\fR\fR
.ad
.RS 18n
A callback through which the results of the operation are reported. It cannot
be \fINULL\fR.
.RE

.sp
.ne 2
.na
\fB\fIpvCookie\fR\fR
.ad
.RS 18n
Memory passed to the callback code from the client. It can be \fINULL\fR.
.RE

.SH ERRORS
.sp
.LP
This function or its callback may return any \fBSLP\fR error code. See the
ERRORS section in \fBslp_api\fR(3SLP).
.SH EXAMPLES
.LP
\fBExample 1 \fRUsing \fBSLPFindSrvs()\fR
.sp
.LP
The following example finds all advertisements for printers supporting the
\fBLPR\fR protocol with the dpi attribute 300 in the default scope:

.sp
.in +2
.nf
SLPError err;
SLPHandle hSLP;
SLPSrvURLCallback srvngst;

err = SLPFindSrvs(hSLP,
                  "service:printer:lpr",
                  "default",
                  "(dpi=300)",
                  srvngst,
                  NULL);
.fi
.in -2

.SH ENVIRONMENT VARIABLES
.sp
.ne 2
.na
\fB\fBSLP_CONF_FILE\fR\fR
.ad
.RS 17n
When set, use this file for configuration.
.RE

.SH SEE ALSO
.sp
.LP
.BR slp_api (3SLP),
.BR slp.conf (5),
.BR slpd.reg (5),
.BR attributes (7),
.BR slpd (8)
.sp
.LP
\fISystem Administration Guide: Network Services\fR
.sp
.LP
Howes, T. \fIRFC 2254, The String Representation of LDAP Search Filters\fR. The
Internet Society. 1997.
.sp
.LP
Guttman, E.,  Perkins, C., Veizades, J., and Day, M. \fIRFC 2608, Service
Location Protocol, Version 2\fR. The Internet Society. June 1999.
.sp
.LP
Kempf, J. and Guttman, E. \fIRFC 2614, An API for Service Location\fR. The
Internet Society. June 1999.
